// pages/my/index.js
const app = getApp()
Page({

  /**
   * 页面的初始数据
   */
  data: {
    currentTab: 0, //tab切换
    showPopup: false,
    list: [],
    curpage: 1,
    hasMore: true,
    page_total: 1,
    is_load: false
  },

  /** 
   * 滑动切换tab 
   */
  bindChange: function (e) {
    this.setData({
      currentTab: e.detail.current
    });
    if (e.detail.current == 1) {
      this.setData({
        showPopup: true
      });
    } else {
      this.setData({
        showPopup: false
      });
    }

    this.initData();
    this.getOrderList();
  },

  /** 
   * 点击tab切换 
   */
  swichNav: function (e) {
    if (parseInt(this.data.currentTab) === parseInt(e.currentTarget.dataset.current)) {
      return false;
    } else {
      this.setData({
        currentTab: e.currentTarget.dataset.current
      });
      if (e.currentTarget.dataset.current == 1) {
        this.setData({
          showPopup: true
        });
      } else {
        this.setData({
          showPopup: false
        });
      }

      this.initData();
      this.getOrderList();
    }
  },

  /**
   * 初始化数据
   */
  initData: function () {
    this.setData({
      list: [],
      curpage: 1,
      hasMore: true,
      page_total: 1
    })
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {

    this.setData({
      currentTab: options.type
    });
    this.getOrderList();
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function () {

  },

  /**
   * 获取订单数据
   */
  getOrderList: function () {
    var _this = this;
    _this.initData();
    if (_this.data.is_load) {
      return false;
    }
    tt.showLoading({
      title: '加载中...'
    });

    _this.setData({
      is_load: true
    });
    tt.request({
      url: app.globalData.url + 'index.php?act=toutiao_member&op=get_order&key=' + encodeURI(app.globalData.token) +
        '&order_status=' + _this.data.currentTab,
      header: {
        'content-type': 'application/json'
      },
      success(res) {
        tt.hideLoading({});
        if (res.data.code == 200) {
          if (res.data.page_total >= _this.data.curpage) {
            var data = _this.data.list;
            var curpage = _this.data.curpage
            data = data.concat(res.data.datas.list);
            _this.setData({
              list: data,
              hasMore: res.data.hasmore,
              more: true,
              is_load: false
            })
          } else {
            _this.setData({
              hasMore: res.data.hasmore,
              more: false,
              is_load: false
            })
          }
          curpage++;
          _this.setData({
            curpage: curpage
          })
        } else {
          tt.showToast({
            title: res.data.datas.error,
            duration: 2000,
          });
          _this.setData({
            is_load: false
          })
        }
      },
      fail(res) {
        console.log(`request调用失败`);
      }
    })
  },
  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {
    if (this.data.hasMore) { //是否还有更多数据
      //获取数据
      this.getOrderList();
    } else {
      wx.showToast({
        title: '暂无更多数据',
        icon: 'none'
      });
    }
  },

  /**
   * 确认收货
   */
  confirmReceipt: function (e) {
    var id = e.currentTarget.dataset.id;
    var is_lottery = e.currentTarget.dataset.lottery;

    var _this = this;

    wx.showModal({
      title: '确定收到了货物吗？',
      success(res) {
        if (res.confirm) {
          tt.request({
            url: app.globalData.url + 'index.php?act=toutiao_member&op=confirm_receipt&key=' + encodeURI(app.globalData.token) +
              '&id=' + id + '&is_lottery=' + is_lottery,
            header: {
              'content-type': 'application/json'
            },
            success(res) {
              if (res.data.code == 200) {
                _this.initData();
                _this.getOrderList();
                tt.showToast({
                  title: res.data.datas,
                  duration: 700,
                })
              } else {
                tt.showToast({
                  title: res.data.datas.error,
                  duration: 2000,
                });
              }
            },
            fail(res) {
              console.log(`request调用失败`);
            }
          })
        } else if (res.cancel) {

        } else {
          // what happend?
        }
      },
      fail(res) {
        console.log(`showModal调用失败`);
      }
    });
  }
})